#include "Date.h"

int main()
{
    // // 不传参数会调用默认构造函数
    // Date d1;
    // // 对于全缺省的默认构造函数，我们也可以传参调用进行对对象的初始化操作
    // Date d2(2024, 11, 20); // 输出 2024-11-20
    // d1.print();
    // d2.print();

    // Date2的默认构造函数采用的是编译器自动生成的
    // 编译器自动生成的默认构造函数对于内置类型不做处理
    // 对于自定义类型会调用自定义类型的默认构造函数完成对自定义类型的构造
    // Date2 d3;
    // d3.print(); // m_d1调用Date的默认构造输出0-0-0，m_a输出随机值

    // // 先构造的后析构，后构造的先析构
    // Date d1;
    // Date d2;

    // 拷贝构造
    Date d1(2024, 11, 20);
    Date d2(d1);
    d1.print();
    d2.print();
    return 0;
}